#include <stdio.h>

typedef void(*op)(int)//将void(*)(int)类型重命名为op
//错误写法  typedef void(*)(int) op

int main()
{
    //调用地址为零处的一个函数
    (*(void(*)())0)();//void(*)()是一个函数指针类型，0被强制转换为该类型，解引用认为地址为0处有一个函数，函数返回值为void，不需要参数

    //声明signal函数，函数的返回值类型是void(*)(int)，参数是int和int(*)(int)
    void(*signal(int, void(*)(int)))(int);
    //可改写为op signal(int, op);
    return 0;
}